import axios from 'axios'
/**
 * 
 * @param {*} url 请求路径，默认为空
 * @param {*} dada 请求参数，默认为空对象
 * @param {*} type 请求方法，默认为GET
 * @returns 
 */
export default function ajax(url,dada={},type='GET'){
    //返回值为promise对象(异步返回的数据是response.data，而不是response)
    return new Promise(function(resolve,reject){
        //(利用axios异步执行ajax请求)
        let promise  //这个内部的promise用来保存axios的返回值(promise对象)
        if(type==='GET'){
            //准备url query参数数据
            let dataStr='' //数据拼接字符串，将data连接到url
            Object.keys(dada).forEach(key=>{
            dataStr+=key+'='+dada[key]+'&'
            })
            if(dataStr!==''){
                dataStr=dataStr.substring(0,dataStr.lastIndexOf('&'))
                url=url+'?'+dataStr
            }
            //发送get请求
            promise =axios.get(url)
        }else{
            //发送post请求
            promise=axios.post(url,dada)
        }
        promise.then(response=>{
            //成功回调resolve()
            resolve(response.data)
        }).catch(error=>{
            //失败回调reject()
            reject(error)
        })
    })
}

// const response = await ajax()
// const result = response.dada

// const result =await ajax()